[INFO] cloning repository https://github.com/agmcleod/agile_archer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/agmcleod/agile_archer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fagmcleod%2Fagile_archer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fagmcleod%2Fagile_archer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6b3b8ad690f4592cf104e910a32247f5c7293f7a
[INFO] checking agmcleod/agile_archer against master#03c609abb6638f9d7f49f34326d4137d07f5cd61 for pr-155945
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fagmcleod%2Fagile_archer" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/agmcleod/agile_archer
[INFO] finished tweaking git repo https://github.com/agmcleod/agile_archer
[INFO] tweaked toml for git repo https://github.com/agmcleod/agile_archer written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/agmcleod/agile_archer on toolchain 03c609abb6638f9d7f49f34326d4137d07f5cd61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/agmcleod/agile_archer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded xml-rs v0.3.6
[INFO] [stderr]   Downloaded flate2 v0.2.19
[INFO] [stderr]   Downloaded miniz-sys v0.1.9
[INFO] [stderr]   Downloaded num-integer v0.1.34
[INFO] [stderr]   Downloaded fs2 v0.2.5
[INFO] [stderr]   Downloaded core-foundation v0.4.2
[INFO] [stderr]   Downloaded cgl v0.2.1
[INFO] [stderr]   Downloaded gfx_window_glutin v0.17.0
[INFO] [stderr]   Downloaded num-iter v0.1.33
[INFO] [stderr]   Downloaded adler32 v1.0.0
[INFO] [stderr]   Downloaded wayland-window v0.6.1
[INFO] [stderr]   Downloaded draw_state v0.7.1
[INFO] [stderr]   Downloaded shell32-sys v0.1.1
[INFO] [stderr]   Downloaded hibitset v0.1.3
[INFO] [stderr]   Downloaded num-rational v0.1.38
[INFO] [stderr]   Downloaded dwmapi-sys v0.1.0
[INFO] [stderr]   Downloaded core-foundation v0.3.0
[INFO] [stderr]   Downloaded color_quant v1.0.0
[INFO] [stderr]   Downloaded wayland-sys v0.9.9
[INFO] [stderr]   Downloaded wayland-scanner v0.9.9
[INFO] [stderr]   Downloaded user32-sys v0.1.2
[INFO] [stderr]   Downloaded core-graphics v0.8.2
[INFO] [stderr]   Downloaded target_build_utils v0.3.1
[INFO] [stderr]   Downloaded core-foundation-sys v0.3.1
[INFO] [stderr]   Downloaded num_cpus v1.6.2
[INFO] [stderr]   Downloaded scopeguard v0.3.2
[INFO] [stderr]   Downloaded inflate v0.2.0
[INFO] [stderr]   Downloaded lazy_static v0.2.8
[INFO] [stderr]   Downloaded shred-derive v0.3.0
[INFO] [stderr]   Downloaded redox_syscall v0.1.18
[INFO] [stderr]   Downloaded fnv v1.0.5
[INFO] [stderr]   Downloaded nodrop v0.1.9
[INFO] [stderr]   Downloaded dlib v0.3.1
[INFO] [stderr]   Downloaded shared_library v0.1.5
[INFO] [stderr]   Downloaded bitflags v0.8.2
[INFO] [stderr]   Downloaded approx v0.1.1
[INFO] [stderr]   Downloaded base64 v0.1.1
[INFO] [stderr]   Downloaded either v1.1.0
[INFO] [stderr]   Downloaded arrayvec v0.3.23
[INFO] [stderr]   Downloaded memmap v0.4.0
[INFO] [stderr]   Downloaded core-foundation-sys v0.4.2
[INFO] [stderr]   Downloaded gfx_gl v0.3.1
[INFO] [stderr]   Downloaded byteorder v1.0.0
[INFO] [stderr]   Downloaded tempfile v2.1.5
[INFO] [stderr]   Downloaded libloading v0.3.4
[INFO] [stderr]   Downloaded gdi32-sys v0.1.1
[INFO] [stderr]   Downloaded gl_generator v0.5.3
[INFO] [stderr]   Downloaded odds v0.2.25
[INFO] [stderr]   Downloaded num-traits v0.1.39
[INFO] [stderr]   Downloaded linked-hash-map v0.4.2
[INFO] [stderr]   Downloaded jpeg-decoder v0.1.13
[INFO] [stderr]   Downloaded serde_derive_internals v0.15.1
[INFO] [stderr]   Downloaded coco v0.1.1
[INFO] [stderr]   Downloaded serde_derive v1.0.8
[INFO] [stderr]   Downloaded png v0.8.0
[INFO] [stderr]   Downloaded serde_json v0.9.10
[INFO] [stderr]   Downloaded gleam v0.4.8
[INFO] [stderr]   Downloaded gcc v0.3.51
[INFO] [stderr]   Downloaded gfx v0.16.1
[INFO] [stderr]   Downloaded specs v0.9.3
[INFO] [stderr]   Downloaded wayland-client v0.9.9
[INFO] [stderr]   Downloaded wayland-kbd v0.9.1
[INFO] [stderr]   Downloaded derivative v1.0.0
[INFO] [stderr]   Downloaded crossbeam v0.2.10
[INFO] [stderr]   Downloaded time v0.1.37
[INFO] [stderr]   Downloaded objc v0.2.2
[INFO] [stderr]   Downloaded cocoa v0.9.2
[INFO] [stderr]   Downloaded rayon-core v1.2.1
[INFO] [stderr]   Downloaded shred v0.4.3
[INFO] [stderr]   Downloaded serde v1.0.8
[INFO] [stderr]   Downloaded x11-dl v2.14.0
[INFO] [stderr]   Downloaded serde v0.9.15
[INFO] [stderr]   Downloaded syn v0.10.8
[INFO] [stderr]   Downloaded itertools v0.5.10
[INFO] [stderr]   Downloaded serde_json v1.0.2
[INFO] [stderr]   Downloaded rayon v0.7.1
[INFO] [stderr]   Downloaded rayon v0.8.1
[INFO] [stderr]   Downloaded glutin v0.9.2
[INFO] [stderr]   Downloaded cgmath v0.14.1
[INFO] [stderr]   Downloaded atom v0.3.4
[INFO] [stderr]   Downloaded itoa v0.3.1
[INFO] [stderr]   Downloaded dtoa v0.4.1
[INFO] [stderr]   Downloaded pulse v0.5.3
[INFO] [stderr]   Downloaded image v0.14.0
[INFO] [stderr]   Downloaded deflate v0.7.11
[INFO] [stderr]   Downloaded winit v0.7.5
[INFO] [stderr]   Downloaded libc v0.2.24
[INFO] [stderr]   Downloaded futures v0.1.14
[INFO] [stderr]   Downloaded scoped_threadpool v0.1.7
[INFO] [stderr]   Downloaded khronos_api v1.0.1
[INFO] [stderr]   Downloaded tiled v0.6.0
[INFO] [stderr]   Downloaded gfx_device_gl v0.14.1
[INFO] [stderr]   Downloaded gfx_core v0.7.1
[INFO] [stderr]   Downloaded genmesh v0.4.3
[INFO] [stderr]   Downloaded smallvec v0.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 984af45401a5dd85ac1e69df371fbbffeb03dd00c784cbb11cb7cbc69629edd2
[INFO] running `Command { std: "docker" "start" "-a" "984af45401a5dd85ac1e69df371fbbffeb03dd00c784cbb11cb7cbc69629edd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "984af45401a5dd85ac1e69df371fbbffeb03dd00c784cbb11cb7cbc69629edd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "984af45401a5dd85ac1e69df371fbbffeb03dd00c784cbb11cb7cbc69629edd2", kill_on_drop: false }`
[INFO] [stdout] 984af45401a5dd85ac1e69df371fbbffeb03dd00c784cbb11cb7cbc69629edd2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0021c9dbb5643e4937ea17c75d52fc45487cf67e60dc85b3841b4d39e1313b75
[INFO] running `Command { std: "docker" "start" "-a" "0021c9dbb5643e4937ea17c75d52fc45487cf67e60dc85b3841b4d39e1313b75", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Checking libc v0.2.24
[INFO] [stderr]     Checking lazy_static v0.2.8
[INFO] [stderr]    Compiling siphasher v0.2.2
[INFO] [stderr]    Compiling bitflags v0.7.0
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling itoa v0.3.1
[INFO] [stderr]    Compiling serde v0.9.15
[INFO] [stderr]    Compiling dtoa v0.4.1
[INFO] [stderr]    Compiling num-traits v0.1.39
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling log v0.3.8
[INFO] [stderr]    Compiling khronos_api v1.0.1
[INFO] [stderr]    Compiling rayon-core v1.2.1
[INFO] [stderr]     Checking scopeguard v0.3.2
[INFO] [stderr]     Checking either v1.1.0
[INFO] [stderr]    Compiling xml-rs v0.3.6
[INFO] [stderr]     Checking byteorder v1.0.0
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]    Compiling phf_shared v0.7.21
[INFO] [stderr]     Checking futures v0.1.14
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling pkg-config v0.3.9
[INFO] [stderr]    Compiling gcc v0.3.51
[INFO] [stderr]    Compiling itertools v0.5.10
[INFO] [stderr]     Checking rand v0.3.15
[INFO] [stderr]     Checking coco v0.1.1
[INFO] [stderr]    Compiling phf v0.7.21
[INFO] [stderr]     Checking num_cpus v1.6.2
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling syn v0.10.8
[INFO] [stderr]     Checking fs2 v0.2.5
[INFO] [stderr]     Checking bitflags v0.8.2
[INFO] [stderr]     Checking shared_library v0.1.5
[INFO] [stderr]    Compiling x11-dl v2.14.0
[INFO] [stderr]     Checking memmap v0.4.0
[INFO] [stderr]     Checking draw_state v0.7.1
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]     Checking num-integer v0.1.34
[INFO] [stderr]     Checking atom v0.3.4
[INFO] [stderr]     Checking odds v0.2.25
[INFO] [stderr]     Checking time v0.1.37
[INFO] [stderr]     Checking adler32 v1.0.0
[INFO] [stderr]     Checking num-iter v0.1.33
[INFO] [stderr]     Checking deflate v0.7.11
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking color_quant v1.0.0
[INFO] [stderr]     Checking fnv v1.0.5
[INFO] [stderr]     Checking inflate v0.2.0
[INFO] [stderr]     Checking nodrop v0.1.9
[INFO] [stderr]     Checking smallvec v0.4.0
[INFO] [stderr]    Compiling tempfile v2.1.5
[INFO] [stderr]     Checking bitflags v0.9.1
[INFO] [stderr]     Checking arrayvec v0.3.23
[INFO] [stderr]     Checking approx v0.1.1
[INFO] [stderr]    Compiling wayland-scanner v0.9.9
[INFO] [stderr]    Compiling gl_generator v0.5.3
[INFO] [stderr]     Checking cgmath v0.14.1
[INFO] [stderr]    Compiling phf_generator v0.7.21
[INFO] [stderr]    Compiling phf_codegen v0.7.21
[INFO] [stderr]    Compiling miniz-sys v0.1.9
[INFO] [stderr]     Checking pulse v0.5.3
[INFO] [stderr]     Checking gif v0.9.2
[INFO] [stderr]     Checking num-rational v0.1.38
[INFO] [stderr]    Compiling target_build_utils v0.3.1
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking base64 v0.1.1
[INFO] [stderr]     Checking crossbeam v0.2.10
[INFO] [stderr]     Checking scoped_threadpool v0.1.7
[INFO] [stderr]    Compiling wayland-client v0.9.9
[INFO] [stderr]     Checking serde v1.0.8
[INFO] [stderr]     Checking linked-hash-map v0.4.2
[INFO] [stderr]     Checking rayon v0.7.1
[INFO] [stderr]     Checking rayon v0.8.1
[INFO] [stderr]    Compiling serde_derive_internals v0.15.1
[INFO] [stderr]     Checking flate2 v0.2.19
[INFO] [stderr]    Compiling gfx_gl v0.3.1
[INFO] [stderr]    Compiling glutin v0.9.2
[INFO] [stderr]     Checking tiled v0.6.0
[INFO] [stderr]    Compiling shred-derive v0.3.0
[INFO] [stderr]     Checking png v0.8.0
[INFO] [stderr]    Compiling serde_derive v1.0.8
[INFO] [stderr]     Checking hibitset v0.1.3
[INFO] [stderr]     Checking shred v0.4.3
[INFO] [stderr]     Checking jpeg-decoder v0.1.13
[INFO] [stderr]    Compiling derivative v1.0.0
[INFO] [stderr]     Checking image v0.14.0
[INFO] [stderr]    Compiling serde_json v0.9.10
[INFO] [stderr]     Checking genmesh v0.4.3
[INFO] [stderr]     Checking specs v0.9.3
[INFO] [stderr]     Checking gfx_core v0.7.1
[INFO] [stderr]     Checking serde_json v1.0.2
[INFO] [stderr]     Checking gfx v0.16.1
[INFO] [stderr]     Checking gfx_device_gl v0.14.1
[INFO] [stderr]    Compiling libloading v0.3.4
[INFO] [stderr]     Checking dlib v0.3.1
[INFO] [stderr]     Checking wayland-sys v0.9.9
[INFO] [stderr]     Checking wayland-window v0.6.1
[INFO] [stderr]     Checking wayland-kbd v0.9.1
[INFO] [stderr]     Checking winit v0.7.5
[INFO] [stderr]     Checking gfx_window_glutin v0.17.0
[INFO] [stderr]     Checking agile_archer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector3`
[INFO] [stdout]  --> src/renderer/basic.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cgmath::{SquareMatrix, Matrix4, Vector3};
[INFO] [stdout]   |                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/loader.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 |   try!(file.read_to_string(&mut text));
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/loader.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 |   let mut file = try!(File::open(path));
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/components/tile_data.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/math/astar.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, BinaryHeap};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/systems/animation_system.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 |        type SystemData = (
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 20 | |          WriteStorage<'a, AnimationSheet>
[INFO] [stdout]    | | ________^________________________________^
[INFO] [stdout]    | ||________|
[INFO] [stdout]    |  |
[INFO] [stdout] 21 |  |     );
[INFO] [stdout]    |  |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 19 -     type SystemData = (
[INFO] [stdout] 20 -         WriteStorage<'a, AnimationSheet>
[INFO] [stdout] 21 -     );
[INFO] [stdout] 19 +     type SystemData = WriteStorage<'a, AnimationSheet> ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TileMapping`
[INFO] [stdout]  --> src/systems/player_movement.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use types::{TileMapping, Turn};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deref`
[INFO] [stdout]  --> src/systems/process_turn.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Fetch`
[INFO] [stdout]  --> src/systems/process_turn.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use specs::{Fetch, FetchMut, Join, ReadStorage, WriteStorage, System};
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector3`
[INFO] [stdout]  --> src/renderer/basic.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use cgmath::{SquareMatrix, Matrix4, Vector3};
[INFO] [stdout]   |                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/loader.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 |   try!(file.read_to_string(&mut text));
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/loader.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 |   let mut file = try!(File::open(path));
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/components/tile_data.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/math/astar.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, BinaryHeap};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/systems/animation_system.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 |        type SystemData = (
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 20 | |          WriteStorage<'a, AnimationSheet>
[INFO] [stdout]    | | ________^________________________________^
[INFO] [stdout]    | ||________|
[INFO] [stdout]    |  |
[INFO] [stdout] 21 |  |     );
[INFO] [stdout]    |  |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 19 -     type SystemData = (
[INFO] [stdout] 20 -         WriteStorage<'a, AnimationSheet>
[INFO] [stdout] 21 -     );
[INFO] [stdout] 19 +     type SystemData = WriteStorage<'a, AnimationSheet> ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TileMapping`
[INFO] [stdout]  --> src/systems/player_movement.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use types::{TileMapping, Turn};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deref`
[INFO] [stdout]  --> src/systems/process_turn.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Fetch`
[INFO] [stdout]  --> src/systems/process_turn.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use specs::{Fetch, FetchMut, Join, ReadStorage, WriteStorage, System};
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/utils/tiled.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Image`, `Layer`, `Map`, `Properties`, `Tile`, and `Tileset`
[INFO] [stdout]    --> src/utils/tiled.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |     use tiled::{Map, Layer, Tileset, Image, Tile, Properties};
[INFO] [stdout]     |                 ^^^  ^^^^^  ^^^^^^^  ^^^^^  ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/utils/tiled.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut ys = ground_tiles.get_mut(&x).unwrap();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/utils/tiled.rs:63:25
[INFO] [stdout]    |
[INFO] [stdout] 63 |                     let mut xs = unpassable_tiles.get_mut(&y).unwrap();
[INFO] [stdout]    |                         ----^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut tile_data = tile_data_res.deref_mut();
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:149:29
[INFO] [stdout]     |
[INFO] [stdout] 149 |                         let mut input = input_res.deref_mut();
[INFO] [stdout]     |                             ----^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:155:29
[INFO] [stdout]     |
[INFO] [stdout] 155 |                         let mut input = input_res.deref_mut();
[INFO] [stdout]     |                             ----^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:165:29
[INFO] [stdout]     |
[INFO] [stdout] 165 |                         let mut input = input_res.deref_mut();
[INFO] [stdout]     |                             ----^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:112:55
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let (window, mut device, mut factory, main_color, mut main_depth) =
[INFO] [stdout]     |                                                       ----^^^^^^^^^^
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset_energy` is never used
[INFO] [stdout]   --> src/components/player.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Player {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn reset_energy(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rotation` and `scale` are never read
[INFO] [stdout]   --> src/components/transform.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct Transform {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub rotation: f32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 11 |     pub scale: Vector2<f32>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_time` is never read
[INFO] [stdout]  --> src/systems/animation_system.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AnimationSystem {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] 7 |     last_time: Instant,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/spritesheet.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `FrameData` is not local
[INFO] [stdout]   |          `Serialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FrameData`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/spritesheet.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |                     -^^^^^^^^^^
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `FrameData` is not local
[INFO] [stdout]   |                     `Deserialize` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FrameData`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Size` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     -^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Size` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Frame` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Frame`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     -^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Frame` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Frame`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Meta` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Meta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/utils/tiled.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut ys = ground_tiles.get_mut(&x).unwrap();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     -^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Meta` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Meta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Spritesheet` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Spritesheet`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     -^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Spritesheet` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Spritesheet`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/utils/tiled.rs:63:25
[INFO] [stdout]    |
[INFO] [stdout] 63 |                     let mut xs = unpassable_tiles.get_mut(&y).unwrap();
[INFO] [stdout]    |                         ----^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut tile_data = tile_data_res.deref_mut();
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:149:29
[INFO] [stdout]     |
[INFO] [stdout] 149 |                         let mut input = input_res.deref_mut();
[INFO] [stdout]     |                             ----^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:155:29
[INFO] [stdout]     |
[INFO] [stdout] 155 |                         let mut input = input_res.deref_mut();
[INFO] [stdout]     |                             ----^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:165:29
[INFO] [stdout]     |
[INFO] [stdout] 165 |                         let mut input = input_res.deref_mut();
[INFO] [stdout]     |                             ----^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:112:55
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let (window, mut device, mut factory, main_color, mut main_depth) =
[INFO] [stdout]     |                                                       ----^^^^^^^^^^
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset_energy` is never used
[INFO] [stdout]   --> src/components/player.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Player {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn reset_energy(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rotation` and `scale` are never read
[INFO] [stdout]   --> src/components/transform.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct Transform {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub rotation: f32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 11 |     pub scale: Vector2<f32>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_time` is never read
[INFO] [stdout]  --> src/systems/animation_system.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AnimationSystem {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] 7 |     last_time: Instant,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/spritesheet.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `FrameData` is not local
[INFO] [stdout]   |          `Serialize` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FrameData`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/spritesheet.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |                     -^^^^^^^^^^
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `FrameData` is not local
[INFO] [stdout]   |                     `Deserialize` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FrameData`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Size` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     -^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Size` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Frame` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Frame`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     -^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Frame` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Frame`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Meta` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Meta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     -^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Meta` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Meta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Spritesheet` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Spritesheet`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/spritesheet.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     -^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Spritesheet` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Spritesheet`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.20s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0, bitflags v0.8.2, glutin v0.9.2, syn v0.10.8, winit v0.7.5
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "0021c9dbb5643e4937ea17c75d52fc45487cf67e60dc85b3841b4d39e1313b75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0021c9dbb5643e4937ea17c75d52fc45487cf67e60dc85b3841b4d39e1313b75", kill_on_drop: false }`
[INFO] [stdout] 0021c9dbb5643e4937ea17c75d52fc45487cf67e60dc85b3841b4d39e1313b75
